<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>promise介绍</title>
</head>
<body>
    
</body>
<script>
    // es6 推出promise对象，它是一个异步编程的解决方案，比传统的解决方案----回调函数，更合理强大
    // 解决异步 回调地狱的问题

    let api = new Promise((resolve,reject)=>{
        setTimeout(()=>{
            if(false){ // promise状态为 pending
                resolve('ok') // resolve 表示成功的回调 promise状态为fulfilled
            }else{
                reject('error') // reject 表示失败的回调 promise状态为rejected
            }
        },2000)
    });

    // api => promsie
    // api.then() => promise.then()
    api.then((res)=>{
        console.log(res);
        console.log('promise 请求成功');
    })
    .catch((error)=>{
        console.log(error);
        console.log('promise 请求失败');
    })

    // Promise对象通过自身的状态，控制异步操作，Promise有三种状态
    // 异步操作未完成--- pending
    // 异步的操作成功--- fulfilled
    // 异步的操作失败--- rejected
</script>
</html>